#define _CRT_SECURE_NO_WARNINGS 1

#include"Heap.h"

//void swap(int* a, int* b)
//{
//	int temp = *a;
//	*a = *b;
//	*b = temp;
//}
//
//void AdjustUp(int* arr, int n, int parent)
//{
//	int child = parent * 2 + 1;
//	while (child < n)
//	{
//		if (child + 1 < n && arr[child + 1] > arr[child])
//		{
//			child++;
//		}
//
//		if (arr[child] > parent[arr])
//		{
//			swap(&arr[child], &arr[parent]);
//			parent = child;
//			child = parent * 2 + 1;
//		}
//		else
//		{
//			break;
//		}
//	}
//}
//
//void HeapSort(int* arr, int n)
//{
//	int i;
//	for (i = (n - 1 - 1) / 2; i >= 0; i--)
//	{
//		AdjustUp(arr, n, i);
//	}
//	for (i = n - 1; i > 0; i--)
//	{
//		swap(&arr[0], &arr[i]);
//		AdjustUp(arr, i, 0);
//	}
//}

int main()
{
	//int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	//int len = sizeof(arr) / sizeof(arr[0]);
	//HeapSort(arr, len);

	int arr[] = { 15,18,28,34,65,19,49,25,37,27 };
	int size = sizeof(arr) / sizeof(arr[0]);

	HP h;
	HeapInit(&h, arr, size);
	HeapPrint(&h);

	HeapPush(&h, 8);
	HeapPrint(&h);
	HeapPush(&h, 88);
	HeapPrint(&h);

	HeapPop(&h);
	HeapPrint(&h);
	HeapDestroy(&h);
	return 0;
}